<!-- XHTML 1.0 Strict -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<meta name="author" content="Rachid Touzani" />
<meta name="keywords" content=" css, dropdowns, dropdown menu, drop-down, menu, navigation, nav, horizontal, vertical left-to-right, vertical right-to-left, horizontal linear, horizontal upwards, cross browser, internet explorer, ie, firefox, safari, opera, browser, lwis" />
<meta name="description" content="Clean, standards-friendly, modular framework for dropdown menus" />
<link href="../css/dropdown.vertical.css" media="screen" rel="stylesheet" type="text/css" />
<link href="../css/default.ultimate.css" media="screen" rel="stylesheet" type="text/css" />
<head>
<!-- Title -->
<title>OFELI - Documentation</title>
<!-- Stylesheet -->
<link rel="stylesheet" type="text/css" href="../doxygen.css" />
<link rel="stylesheet" type="text/css" href="../tabs.css" />
</head>
<body>
<p align="center">
  <img src="../im/ofeli.gif" alt="OFELI's Logo" width="300" height="90">
</p>
<p align="center"><font color="#203F5B" size="4" face="verdana,Helvetica">
<b>An Object Oriented Finite Element Library</b></font></p>
<!-- Complete Page-->
<div id="main">
<div id="mainmenu">
 <div class="text">
<!-- Menu -->
 <div class="tabs">
  <ul class="tablist">
   <li><a href="../index.html"><span>Home</span></a>
    <li><a href="../overview.html"><span>Overview</span></a>
    <li><a href="../extlib.html"><span>External Libraries</span></a>
    <li><a href="../citing.html"><span>Citing OFELI</span></a>
    <li><a href="../fformats.html"><span>File Formats</span></a>
    <li><a href="../demos.html"><span>Demo Codes</span></a>
  </ul>
 </div>
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classOFELI_1_1NLASSolver.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classOFELI_1_1NLASSolver-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">NLASSolver Class Reference<div class="ingroups"><a class="el" href="group__OFELI.html">OFELI</a> &raquo; <a class="el" href="group__Solver.html">Solver</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>To solve a system of nonlinear algebraic equations of the form f(u) = 0.  
 <a href="classOFELI_1_1NLASSolver.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a313620706abd07c233e36dc7b45b068f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a313620706abd07c233e36dc7b45b068f"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a313620706abd07c233e36dc7b45b068f">NLASSolver</a> ()</td></tr>
<tr class="memdesc:a313620706abd07c233e36dc7b45b068f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a313620706abd07c233e36dc7b45b068f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af51b33ccc0b4b0cad6f3611ef720cb87"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#af51b33ccc0b4b0cad6f3611ef720cb87">NLASSolver</a> (NonLinearIter nl, int nb_eq=1)</td></tr>
<tr class="memdesc:af51b33ccc0b4b0cad6f3611ef720cb87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor defining the iterative method to solve the equation.  <a href="#af51b33ccc0b4b0cad6f3611ef720cb87">More...</a><br /></td></tr>
<tr class="separator:af51b33ccc0b4b0cad6f3611ef720cb87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1656b2d822739cb3fb7b323f8079ca0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#ac1656b2d822739cb3fb7b323f8079ca0">NLASSolver</a> (<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &amp;x, NonLinearIter nl=NEWTON)</td></tr>
<tr class="memdesc:ac1656b2d822739cb3fb7b323f8079ca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor defining a one-variable problem.  <a href="#ac1656b2d822739cb3fb7b323f8079ca0">More...</a><br /></td></tr>
<tr class="separator:ac1656b2d822739cb3fb7b323f8079ca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3482f7a630b7d059c1b915176e7f0bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#aa3482f7a630b7d059c1b915176e7f0bc">NLASSolver</a> (<a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;x, NonLinearIter nl=NEWTON)</td></tr>
<tr class="memdesc:aa3482f7a630b7d059c1b915176e7f0bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor defining a multi-variable problem.  <a href="#aa3482f7a630b7d059c1b915176e7f0bc">More...</a><br /></td></tr>
<tr class="separator:aa3482f7a630b7d059c1b915176e7f0bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa95f3a13e864d95497f2749de222c452"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#aa95f3a13e864d95497f2749de222c452">NLASSolver</a> (<a class="el" href="classOFELI_1_1MyNLAS.html">MyNLAS</a> &amp;my_nlas, NonLinearIter nl=NEWTON)</td></tr>
<tr class="memdesc:aa95f3a13e864d95497f2749de222c452"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor using a user defined class.  <a href="#aa95f3a13e864d95497f2749de222c452">More...</a><br /></td></tr>
<tr class="separator:aa95f3a13e864d95497f2749de222c452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a983d681b2f47e7b4872a406e634c655e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a983d681b2f47e7b4872a406e634c655e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a983d681b2f47e7b4872a406e634c655e">~NLASSolver</a> ()</td></tr>
<tr class="memdesc:a983d681b2f47e7b4872a406e634c655e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a983d681b2f47e7b4872a406e634c655e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec36c78a753f6370a283f7ee60020fa3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec36c78a753f6370a283f7ee60020fa3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#aec36c78a753f6370a283f7ee60020fa3">setVerbose</a> (int verb)</td></tr>
<tr class="memdesc:aec36c78a753f6370a283f7ee60020fa3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set verbosity parameter Value must be between 0 and 5. Default value is 0. <br /></td></tr>
<tr class="separator:aec36c78a753f6370a283f7ee60020fa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e6d15777f4c9d95999313bafae5e5e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a9e6d15777f4c9d95999313bafae5e5e7">setMaxIter</a> (int max_it)</td></tr>
<tr class="memdesc:a9e6d15777f4c9d95999313bafae5e5e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Maximal number of iterations.  <a href="#a9e6d15777f4c9d95999313bafae5e5e7">More...</a><br /></td></tr>
<tr class="separator:a9e6d15777f4c9d95999313bafae5e5e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d0e665f8f92335ec10c4ccf9e9171b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a4d0e665f8f92335ec10c4ccf9e9171b7">setTolerance</a> (<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> toler)</td></tr>
<tr class="memdesc:a4d0e665f8f92335ec10c4ccf9e9171b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set tolerance value for convergence.  <a href="#a4d0e665f8f92335ec10c4ccf9e9171b7">More...</a><br /></td></tr>
<tr class="separator:a4d0e665f8f92335ec10c4ccf9e9171b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed17157b8b5172e30a9132a8eb061c01"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed17157b8b5172e30a9132a8eb061c01"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#aed17157b8b5172e30a9132a8eb061c01">set</a> (NonLinearIter nl)</td></tr>
<tr class="memdesc:aed17157b8b5172e30a9132a8eb061c01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define an iterative procedure To be chosen among the enumerated values: <code>BISECTION</code>, <code>REGULA_FALSI</code> or <code>NEWTON</code>. <br /></td></tr>
<tr class="separator:aed17157b8b5172e30a9132a8eb061c01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aded9896bbfc5b7062a878f049328dbf4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#aded9896bbfc5b7062a878f049328dbf4">setFunction</a> (function&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>(<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>)&gt; f)</td></tr>
<tr class="memdesc:aded9896bbfc5b7062a878f049328dbf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the function associated to the equation to solve.  <a href="#aded9896bbfc5b7062a878f049328dbf4">More...</a><br /></td></tr>
<tr class="separator:aded9896bbfc5b7062a878f049328dbf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04839207ef8c2248c2a6dd958d287b4b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a04839207ef8c2248c2a6dd958d287b4b">setFunction</a> (function&lt; <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt;(<a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt;)&gt; f)</td></tr>
<tr class="memdesc:a04839207ef8c2248c2a6dd958d287b4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the function associated to the equation to solve.  <a href="#a04839207ef8c2248c2a6dd958d287b4b">More...</a><br /></td></tr>
<tr class="separator:a04839207ef8c2248c2a6dd958d287b4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac63af64b7883d535bb07ab4fee964aaa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#ac63af64b7883d535bb07ab4fee964aaa">setGradient</a> (function&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>(<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>)&gt; g)</td></tr>
<tr class="memdesc:ac63af64b7883d535bb07ab4fee964aaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the function associated to the derivative of the equation to solve.  <a href="#ac63af64b7883d535bb07ab4fee964aaa">More...</a><br /></td></tr>
<tr class="separator:ac63af64b7883d535bb07ab4fee964aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27ce60ec61d8ab6f2514ef763950bfb7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a27ce60ec61d8ab6f2514ef763950bfb7">setGradient</a> (function&lt; <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt;(<a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt;)&gt; g)</td></tr>
<tr class="memdesc:a27ce60ec61d8ab6f2514ef763950bfb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the function associated to the gradient of the equation to solve.  <a href="#a27ce60ec61d8ab6f2514ef763950bfb7">More...</a><br /></td></tr>
<tr class="separator:a27ce60ec61d8ab6f2514ef763950bfb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31e77e80114a29bc0d792d13162ff26b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a31e77e80114a29bc0d792d13162ff26b">setf</a> (string exp)</td></tr>
<tr class="memdesc:a31e77e80114a29bc0d792d13162ff26b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set function for which zero is sought (case of one equation)  <a href="#a31e77e80114a29bc0d792d13162ff26b">More...</a><br /></td></tr>
<tr class="separator:a31e77e80114a29bc0d792d13162ff26b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bcbb13ab556eda581413740f79eb6c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a1bcbb13ab556eda581413740f79eb6c9">setDf</a> (string exp, int i=1, int j=1)</td></tr>
<tr class="memdesc:a1bcbb13ab556eda581413740f79eb6c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set pzrtial derivative of function for which zero is sought (case of many equations)  <a href="#a1bcbb13ab556eda581413740f79eb6c9">More...</a><br /></td></tr>
<tr class="separator:a1bcbb13ab556eda581413740f79eb6c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af97477a7dcb02936e3d43493fc80420d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#af97477a7dcb02936e3d43493fc80420d">setPDE</a> (<a class="el" href="classOFELI_1_1AbsEqua.html">AbsEqua</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;eq)</td></tr>
<tr class="memdesc:af97477a7dcb02936e3d43493fc80420d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a PDE.  <a href="#af97477a7dcb02936e3d43493fc80420d">More...</a><br /></td></tr>
<tr class="separator:af97477a7dcb02936e3d43493fc80420d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1cd58fec176472be29a4dfb1be829e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#af1cd58fec176472be29a4dfb1be829e3">setInitial</a> (<a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;u)</td></tr>
<tr class="memdesc:af1cd58fec176472be29a4dfb1be829e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set initial guess for the iterations.  <a href="#af1cd58fec176472be29a4dfb1be829e3">More...</a><br /></td></tr>
<tr class="separator:af1cd58fec176472be29a4dfb1be829e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54f93b8af463c5ca893fb24a542e4d6a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a54f93b8af463c5ca893fb24a542e4d6a">setInitial</a> (<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &amp;x)</td></tr>
<tr class="memdesc:a54f93b8af463c5ca893fb24a542e4d6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set initial guess for a unique unknown.  <a href="#a54f93b8af463c5ca893fb24a542e4d6a">More...</a><br /></td></tr>
<tr class="separator:a54f93b8af463c5ca893fb24a542e4d6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d4f3735e331deb3b35148cdab158de8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a5d4f3735e331deb3b35148cdab158de8">setInitial</a> (<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> a, <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> <a class="el" href="group__OFELI.html#gaf5cd2eaaceda19772fd904539819158c">b</a>)</td></tr>
<tr class="memdesc:a5d4f3735e331deb3b35148cdab158de8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set initial guesses bisection or Regula falsi algorithms.  <a href="#a5d4f3735e331deb3b35148cdab158de8">More...</a><br /></td></tr>
<tr class="separator:a5d4f3735e331deb3b35148cdab158de8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13a43e6d814de94978c515cb084873b1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a43e6d814de94978c515cb084873b1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a13a43e6d814de94978c515cb084873b1">run</a> ()</td></tr>
<tr class="memdesc:a13a43e6d814de94978c515cb084873b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run the solution procedure. <br /></td></tr>
<tr class="separator:a13a43e6d814de94978c515cb084873b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb3d75689bdd8aad7c9e197d4d9bd87a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb3d75689bdd8aad7c9e197d4d9bd87a"></a>
<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#adb3d75689bdd8aad7c9e197d4d9bd87a">get</a> () const </td></tr>
<tr class="memdesc:adb3d75689bdd8aad7c9e197d4d9bd87a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return solution (Case of a scalar equation) <br /></td></tr>
<tr class="separator:adb3d75689bdd8aad7c9e197d4d9bd87a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cb2189e3379851c95d13a7c7ed8d8d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a2cb2189e3379851c95d13a7c7ed8d8d9">get</a> (<a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;u) const </td></tr>
<tr class="memdesc:a2cb2189e3379851c95d13a7c7ed8d8d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return solution (case of a nonlinear system of equations)  <a href="#a2cb2189e3379851c95d13a7c7ed8d8d9">More...</a><br /></td></tr>
<tr class="separator:a2cb2189e3379851c95d13a7c7ed8d8d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b90d074dab10cd5272e6f7b8c6cbb0e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b90d074dab10cd5272e6f7b8c6cbb0e"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1NLASSolver.html#a4b90d074dab10cd5272e6f7b8c6cbb0e">getNbIter</a> () const </td></tr>
<tr class="memdesc:a4b90d074dab10cd5272e6f7b8c6cbb0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return number of iterations. <br /></td></tr>
<tr class="separator:a4b90d074dab10cd5272e6f7b8c6cbb0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>To solve a system of nonlinear algebraic equations of the form f(u) = 0. </p>
<p>Features: </p><ul>
<li>
The nonlinear problem is solved by the Newton's method in the general case, and in the one variable case, either by the bisection or the Regula Falsi method </li>
<li>
The function and its gradient are given: <ul>
<li>
Either by regular expressions </li>
<li>
Or by user defined functions </li>
<li>
Or by a user defined class. This feature enables defining the function and its gradient through a PDE class for instance </li>
</ul>
</li>
</ul>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af51b33ccc0b4b0cad6f3611ef720cb87"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1NLASSolver.html">NLASSolver</a> </td>
          <td>(</td>
          <td class="paramtype">NonLinearIter&#160;</td>
          <td class="paramname"><em>nl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nb_eq</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor defining the iterative method to solve the equation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nl</td><td>Choose an iterative procedure to solve the nonlinear system of equations: To be chosen among the enumerated values: <code>BISECTION</code>, <code>REGULA_FALSI</code> or <code>NEWTON</code>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nb_eq</td><td>Number of equations [Default: <code>1</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac1656b2d822739cb3fb7b323f8079ca0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1NLASSolver.html">NLASSolver</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NonLinearIter&#160;</td>
          <td class="paramname"><em>nl</em> = <code>NEWTON</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor defining a one-variable problem. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Variable containing on input initial guess and on output solution, if convergence is achieved </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nl</td><td>Iterative procedure to solve the nonlinear system of equations: To be chosen among the enumerated values: <code>BISECTION</code>, <code>REGULA_FALSI</code> or <code>NEWTON</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa3482f7a630b7d059c1b915176e7f0bc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1NLASSolver.html">NLASSolver</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NonLinearIter&#160;</td>
          <td class="paramname"><em>nl</em> = <code>NEWTON</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor defining a multi-variable problem. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Variable containing on input initial guess and on output solution, if convergence is achieved </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nl</td><td>Iterative procedure to solve the nonlinear system of equations: The only possible value (default one) in the current version is <code>NEWTON</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa95f3a13e864d95497f2749de222c452"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1NLASSolver.html">NLASSolver</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1MyNLAS.html">MyNLAS</a> &amp;&#160;</td>
          <td class="paramname"><em>my_nlas</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NonLinearIter&#160;</td>
          <td class="paramname"><em>nl</em> = <code>NEWTON</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor using a user defined class. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">my_nlas</td><td>Reference to instance of user defined class. This class inherits from abstract class <a class="el" href="classOFELI_1_1MyNLAS.html" title="Abstract class to define by user specified function. ">MyNLAS</a>. It must contain the member function <code>Vect&lt;double&gt;</code> Function(const Vect&lt;double&gt;&amp; x) which returns the value of the nonlinear function, as a vector, for a given solution vector <code>x</code>. The user defined class must contain, if the iterative scheme requires it the member function <code>Vect&lt;double&gt;</code> Gradient(const Vect&lt;real_t&gt;&amp; x) which returns the gradient as a <code>n*n</code> vector, each index <code></code>(i,j) containing the j-th partial derivative of the i-th function. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nl</td><td>Iterative procedure to solve the nonlinear system of equations: To be chosen among the enumerated values: <code>BISECTION</code>, <code>REGULA_FALSI</code> or <code>NEWTON</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9e6d15777f4c9d95999313bafae5e5e7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setMaxIter </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>max_it</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set Maximal number of iterations. </p>
<p>Default value of this parameter is 100 </p>

</div>
</div>
<a class="anchor" id="a4d0e665f8f92335ec10c4ccf9e9171b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setTolerance </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>&#160;</td>
          <td class="paramname"><em>toler</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set tolerance value for convergence. </p>
<p>Default value of this parameter is 1.e-8 </p>

</div>
</div>
<a class="anchor" id="aded9896bbfc5b7062a878f049328dbf4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setFunction </td>
          <td>(</td>
          <td class="paramtype">function&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>(<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>)&gt;&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define the function associated to the equation to solve. </p>
<p>This function can be used in the case where a user defined function is to be given. To be used in the one-variable case. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">f</td><td>Function given as a function of one real variable and returning a real number. This function can be defined by the calling program as a C-function and then cast to an instance of class function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a04839207ef8c2248c2a6dd958d287b4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setFunction </td>
          <td>(</td>
          <td class="paramtype">function&lt; <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt;(<a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt;)&gt;&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define the function associated to the equation to solve. </p>
<p>This function can be used in the case where a user defined function is to be given. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">f</td><td>Function given as a function of many variables, stored in an input vector, and returns a vector. This function can be defined by the calling program as a C-function and then cast to an instance of class function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac63af64b7883d535bb07ab4fee964aaa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setGradient </td>
          <td>(</td>
          <td class="paramtype">function&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>(<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>)&gt;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define the function associated to the derivative of the equation to solve. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>Function given as a function of one real variable and returning a real number. This function can be defined by the calling program as a C-function and then cast to an instance of class function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a27ce60ec61d8ab6f2514ef763950bfb7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setGradient </td>
          <td>(</td>
          <td class="paramtype">function&lt; <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt;(<a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt;)&gt;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define the function associated to the gradient of the equation to solve. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>Function given as a function of many variables, stored in an input vector. and returns a <code>n*n</code> vector (<br />
 n is the number of variables). This function can be defined by the calling program as a C-function and then cast to an instance of class function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a31e77e80114a29bc0d792d13162ff26b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setf </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>exp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set function for which zero is sought (case of one equation) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">exp</td><td>Regular expression defining the function using the symbol <code>x</code> as a variable </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1bcbb13ab556eda581413740f79eb6c9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setDf </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</em> = <code>1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>j</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set pzrtial derivative of function for which zero is sought (case of many equations) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">exp</td><td>Regular expression defining the partial derivative. In this expression, the variables are <code>x1</code>, <code>x2</code>, ... <code>x10</code> (up to 10 variables) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>Component of function [Default: <code>=1</code>] </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">j</td><td>Index of the partial derivative [Default: <code>=1</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af97477a7dcb02936e3d43493fc80420d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setPDE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1AbsEqua.html">AbsEqua</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>eq</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define a PDE. </p>
<p>The solver can be used to solve a nonlinear PDE. In this case, the PDE is defined as an instance of a class inheriting of <a class="el" href="classOFELI_1_1AbsEqua.html" title="Mother abstract class to describe equation. ">AbsEqua</a>. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">eq</td><td>Pointer to equation instance </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af1cd58fec176472be29a4dfb1be829e3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setInitial </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>u</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set initial guess for the iterations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">u</td><td>Vector containing initial guess for the unknown </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a54f93b8af463c5ca893fb24a542e4d6a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setInitial </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set initial guess for a unique unknown. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Rference to value of initial guess </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5d4f3735e331deb3b35148cdab158de8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setInitial </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set initial guesses bisection or Regula falsi algorithms. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Value of first initial guess </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Value of second initial guess </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The function has to have opposite signs at these values <code>i.e.</code> f(a)f(b)&lt;0. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>This function makes sense only in the case of a unique function of one variable </dd></dl>

</div>
</div>
<a class="anchor" id="a2cb2189e3379851c95d13a7c7ed8d8d9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>u</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return solution (case of a nonlinear system of equations) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">u</td><td>Vector that contains on output the solution </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->

</div> <!-- class text -->
</div> <!-- main menu -->
<!-- Google Search -->
<br><br>
<center>
  <div id="cse" style="width: 80%;">Loading</div>
  <script src="http://www.google.com/jsapi" type="text/javascript"></script>
  <script type="text/javascript"> 
     google.load('search', '1', {language : 'en', style : google.loader.themes.SHINY});
     google.setOnLoadCallback(function() {
        var customSearchOptions = {};  var customSearchControl = new google.search.CustomSearchControl(
        '012396140824982761142:-qrywxcfi_o', customSearchOptions);
        customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
        customSearchControl.draw('cse');
     }, true);
   </script>
   <style type="text/css">
     .gsc-control-cse {
     font-family: Verdana, sans-serif;
     border-color: #DAE0E5;
     background-color: #DAE0E5;
   }
   .gsc-control-cse .gsc-table-result { font-family: Verdana, sans-serif; }
   input.gsc-input { border-color: #B6BEC5; }
   input.gsc-search-button {
     border-color: #B6BEC5;
     background-color: #D0D1D4;
   }
   .gsc-tabHeader.gsc-tabhInactive {
     border-color: #999999;
     background-color: #EEEEEE;
   }
   .gsc-tabHeader.gsc-tabhActive {
     border-color: #999999;
     background-color: #999999;
   }
   .gsc-tabsArea { border-color: #999999; }
   .gsc-webResult.gsc-result,
   .gsc-results .gsc-imageResult {
     border-color: #FFFFFF;
     background-color: #FFFFFF;
   }
   .gsc-webResult.gsc-result:hover,
   .gsc-imageResult:hover {
     border-color: #D2D6DC;
     background-color: #EDEDED;
   }
   .gsc-webResult.gsc-result.gsc-promotion:hover {
     border-color: #D2D6DC;
     background-color: #EDEDED;
   }
   .gs-webResult.gs-result a.gs-title:link,
   .gs-webResult.gs-result a.gs-title:link b,
   .gs-imageResult a.gs-title:link,
   .gs-imageResult a.gs-title:link b { color: #0568CD; }
   .gs-webResult.gs-result a.gs-title:visited,
   .gs-webResult.gs-result a.gs-title:visited b,
   .gs-imageResult a.gs-title:visited,
   .gs-imageResult a.gs-title:visited b { color: #0568CD; }
   .gs-webResult.gs-result a.gs-title:hover,
   .gs-webResult.gs-result a.gs-title:hover b,
   .gs-imageResult a.gs-title:hover,
   .gs-imageResult a.gs-title:hover b { color: #0568CD; }
   .gs-webResult.gs-result a.gs-title:active,
   .gs-webResult.gs-result a.gs-title:active b,
   .gs-imageResult a.gs-title:active,
   .gs-imageResult a.gs-title:active b { color: #0568CD; }
   .gsc-cursor-page { color: #0568CD; }
   a.gsc-trailing-more-results:link { color: #0568CD; }
   .gs-webResult .gs-snippet,
   .gs-imageResult .gs-snippet,
   .gs-fileFormatType { color: #5F6A73; }
   .gs-webResult div.gs-visibleUrl,
   .gs-imageResult div.gs-visibleUrl { color: #5F6A73; }
   .gs-webResult div.gs-visibleUrl-short { color: #5F6A73; }
   .gs-webResult div.gs-visibleUrl-short { display: none; }
   .gs-webResult div.gs-visibleUrl-long { display: block; }
   .gs-promotion div.gs-visibleUrl-short { display: none; }
   .gs-promotion div.gs-visibleUrl-long { display: block; }
   .gsc-cursor-box { border-color: #FFFFFF; }
   .gsc-results .gsc-cursor-box .gsc-cursor-page {
      border-color: #999999;
      background-color: #FFFFFF;
      color: #0568CD;
   }
   .gsc-results .gsc-cursor-box .gsc-cursor-current-page {
      border-color: #999999;
      background-color: #999999;
      color: #0568CD;
   }
   .gsc-webResult.gsc-result.gsc-promotion {
      border-color: #D2D6DC;
      background-color: #D0D1D4;
   }
   .gsc-completion-title { color: #0568CD; }
   .gsc-completion-snippet { color: #5F6A73; }
   .gs-promotion a.gs-title:link,
   .gs-promotion a.gs-title:link *,
   .gs-promotion .gs-snippet a:link { color: #0066CC; }
   .gs-promotion a.gs-title:visited,
   .gs-promotion a.gs-title:visited *,
   .gs-promotion .gs-snippet a:visited { color: #0066CC; }
   .gs-promotion a.gs-title:hover,
   .gs-promotion a.gs-title:hover *,
   .gs-promotion .gs-snippet a:hover { color: #0066CC; }
   .gs-promotion a.gs-title:active,
   .gs-promotion a.gs-title:active *,
   .gs-promotion .gs-snippet a:active { color: #0066CC; }
   .gs-promotion .gs-snippet,
   .gs-promotion .gs-title .gs-promotion-title-right,
   .gs-promotion .gs-title .gs-promotion-title-right *  { color: #333333; }
   .gs-promotion .gs-visibleUrl,
   .gs-promotion .gs-visibleUrl-short { color: #5F6A73; }
   </style>
</center>
<!-- End of Google Search Box -->
<br><br><br></p>
<div id="foot_bar">
  Copyright &copy; 1998-2019 Rachid Touzani&nbsp;
</div>
</div> <!-- main -->
</body>
</HTML>
